As one of random number generating methods using logical operations, an L-bit length random number method called an M-sequence is known. This method uses an equation given by xN=xN−K+xN−L, and generates a 1-bit random number using only numerals 0 and 1. Since this random number has a logically maximum length for specific K upon determining K, it is called an M-sequence using M for Maximum Length. If the internal state (xN−K, xN−K+1, . . . , xN−1) of K bits is given, the values of xn, xN+1, . . . are uniquely determined and, hence, there are 2K different internal states. The number of internal states is 2K−1 except for a self-evident solution xN=0 of the above formula, and the M-sequence has it as a length. The circuit is configured by a shift register, and an EXOR (exclusive OR) which feeds back an intermediate value of the shift register, and the feedback configuration is determined in correspondence with a primitive polynomial to be implemented.
As described above, since the conventional random number generating method uses an LFSR (Linear Feedback Shift Register), neighboring numerical values have correlation and a unique spectrum. Especially, middle and low frequency ranges have peaks, and if this method is used in image processing or the like, it poses a problem of image quality disturbance.
When a K-bit LFSR is used, its length is 2K−1, and it is difficult to generate random numbers of a plurality of lengths from a single random number generator. Since only one primitive polynomial can be implemented, a random number pattern is also limited to one.
It is impossible to generate an identical random number sequence in the reverse direction, and the use application of the method is limited.